<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>红黑树的规则</title>
	</head>
	<body>
		<div id="" style="width: 900px; margin: 0 auto;">
			<h1>红黑树：</h1>
			红黑树，除了符合二叉搜索树的基本规则外，还添加了一下特性：
				1.节点是红色或黑色
				2.根节点是黑色
				3.每个叶子节点都是黑色的空节点(NIL节点)
				4.每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
				5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
			
		</div>
	</body>
</html>
<script type="text/javascript">
	/*
	红黑树的转换方式：
		换色 - 左旋转 - 右旋转
		
		1.变色：
			为了重新符合红黑树的规则，尝试把红色节点变成黑色，或者把黑色节点变为红色
		 首先，需要知道插入的新的节点通常都是红色节点。
			 因为在插入节点为红色的时候，有可能插入一次是不违反红黑树任何规则的
			 而插入黑色节点，必然会导致有一条路径上多了黑色节点，这是很难调整的
			 红色节点可能导致出现红红相连的情况，但是这种情况可以通过颜色调换和旋转来调整。
		2.左旋转：
			逆时针旋转红黑树的两个节点，使得父节点被自己的右孩子取代，而自己成为自己的左孩子
		
		3.右旋转：
			顺时针旋转红黑树的两个节点，使得父节点被自己的左孩子取代，而自己成为自己的右节点
		
	*/
</script>
